package com.shrct.businessprocess.purchase;

import com.shrct.businessprocess.product.RCProductSpecification;
import com.shrct.businessprocess.purchase.RCProductDeliverItem;
import com.shrct.businessprocess.purchase.impl.RCIdentifiableProductDeliverItemImpl;
import com.shrct.businessprocess.purchase.proxy.RCIdentifiableProductDeliverItemProxy;
import edu.fudan.mylang.pf.EntityImplementation;
import java.util.Date;

@EntityImplementation(implementBy = RCIdentifiableProductDeliverItemImpl.class)
public interface RCIdentifiableProductDeliverItem extends RCProductDeliverItem {
  public abstract Integer getQuantity();
  
  public abstract RCIdentifiableProductDeliverItem setQuantity(final Integer quantity);
  
  public abstract void performDeliver(final Date deliverDate);
  
  public abstract void cancelDeliver();
  
  public abstract Integer getDeliveredQuantity();
  
  public abstract RCProductSpecification getProductSpec();
  
  public abstract RCIdentifiableProductDeliverItemProxy toProxy();
}
